시험종목 : 제1501회 리눅스마스터 1급 2차
시험일자 : 2015. 5. 9(토) 14:00 ~ 15:40(100분)
바로가기 >> 리눅스마스터 기출문제 목록
단답식 1~10
답 : ① -G ( groups) ② -s ( shell) ③ -G
useradd
-u : 사용자의 UID 값을 지정
-d : 홈 디렉터리를 지정
-g : 기본 그룹을 지정
-G : 기본 그룹이외에 추가로 그룹에 속하게 할 경우에 쓴다.
usermod
사용자 계정 관리
사용자의 Shell, 홈 디렉터리, 그룹, UID, GID 등을 변경하는 명령어로 사용자 관련하여 대부분의 정보를 변경할 수 있다.
-l : 사용자의 아이디를 변경한다.
-s : 사용자의 Shell 을 변경한다.
-e : 만기 일자를 지정하거나 변경
-c : 사용자의 설명을 변경
-G : 부그룹 설정을 지정하거나 변경
-d : 사용자의 홈 디렉터리를 변경한다. 변경할 디렉터리는 미리 생성되어야 한다. -m과 같이 사용하면 사용하던 홈 디렉터리의
파일과 디렉터리도 같이 옮겨주므로 이경우에는 디렉터리를 생성하지 않아도 된다.
-m 사용자의 홈디렉터리 변경시 기존에 사용하던 파일 및 디렉터리를 옮겨주는 옵션으로 -d 와 함께 쓰인다.
-e : 계정만기일을 변경한다. YYYY-MM-DD 또는 MM/DD/YY 형태로 지정한다.
Command (m for help): t
Hex code (type L to list codes): 8e
Command (m for help): 에서 m 을 누르면 명령어 목록을 보여준다. 파티션 테이블 변경은 t
Hex code (type L to list codes): 에서 L 을 누르면 명령어 목록을 보여준다. LVM 시스템은 8e
기존의 리눅스 시스템에 새로운 HDD를 추가하는 순서
1. 하드디스크 설치
2. fdisk 로 파티션 생성
3. mkfs 명령어로 파일 시스템 생성
4. 마운트할 디렉터리 생성
5. mount 명령으로 마운트
6. /etc/fstab 파일을 수정하여 자동으로 마운트되도록 설정
새로운 디스크를 추가한후 사용하기 까지의 순서
fdisk > mkfs > mkdir > mount
파티션작업(fdisk) > 파일시스템생성(mkfs) > 마운트포인터생성(mkdir) > 마운트작업(mount)
답 : ① renice ② 10 또는 +10 또는 n 10
renice 10 4305
renice
실행중인 프로세스의 우선순위를 변경할 때 사용하는 명령으로 프로세스ID(PID), 사용자 이름, 프로세스의 그룹ID 를 이용한다.
nice 는 프로세스명으로 우선순위를 조정하고, 명령을 실행하면 새로운 프로세스가 추가로 발생되지만, renice 는 주로 PID 를 사용하고 기존의 프로세스를 교체하여 조정한다.
사용법
# renice [option] NI값 PID
옵션
-p : PID를 지정하는 옵션(기본값)
-u : 사용자 이름을 지정하는 옵션
-g : 프로세스의 그룹 ID를 지정하는 옵션
NI : 프로세스에 설정되어 있는 NI의 기본값은 0 이고 지정가능한 값의 범위는 -20 ~ 19 까지인데 값이 작을수록 우선순위가 높다. 일반 사용자는 NI값을 증가만 가능하고 root 사용자만이 NI 값을 감소시켜 우선순위를 높일 수 있다.
# rpmbuild -ba vsftpd.spec
rpmbuild : 리빌드 모드
rpm 소스파일인 .src.rpm 파일을 패키지 파일로 만드는 모드로서 rpmbuild 라는 명령어를 사용한다.
사용법
# rpmbuild [option] 소스패키지
옵션
rebuild : 소스 rpm 파일을 이용해서 rpm 패키지를 생성할 때 사용한다.
ex)
# rpmbuild rebuild gftp-2.0.19-8.fc18.src.rpm
답 : /sbin/grub-install ( recheck) 또는 grub-install ( recheck)
# grub-install /dev/sda
리눅스의 대표적인 부트 매니저 프로그램에는 LILO(Linux Loader) 와 GRUB(Grand Unified Bootloader) 가 있다.
GRUB 는 GNU 프로젝트에서 만든 부트로더로 LILO에 비해 다양한파일 시스템을 지원하고 부팅 시에 커널 인자를 조정하여 동적인 부팅을 지원한다.
grub-install
부트 로더에 문제가 있어 정상 부팅이 안될 경우 grub-install를 사용하여 복구한다.
grub-install [옵션] DEVICE
ex) grub-install /dev/sda
답 : ① /dev/sdb1 ② /backup ③ ext3
/etc/fstab
이 파일은 파일 시스템에 대한 다양한 정보를 담고 있는 파일로 부팅 시에 마운트할 파티션 정보가 기록되어 있는 파일이다.
파티션 정보를 변경하거나 디스크를 추가한 경우 이파일에 등록해야만 부팅 시에 자동으로 마운트할 수 있다.
파일 시스템 체크 횟수 항목은 없다!!
fstab 의 필드 구성
첫 번째 장치명이 기록되는 영역이었으나 최근 배포판 리눅스에서는 볼륨 라벨(Volume Lable) 이나 UUID 가 대신 사용되고 있다.
두 번째 마운트될 디렉터리(Mount point) 를 나타낸다.
세 번째 파일 시스템 유형을 나타낸다.
네 번째 마운트될 때의 옵션을 나타낸다.
다섯 번째 dump 명령을 통한 백업 시 레벨 덤프 사용 주기를 결정하는 부분으로 0 이면 dump 를 사용하지 않고 1 이면 매일 수행, 2 이면 이틀에 한번 수행한다.
여섯 번째 부팅 시 파일 시스템을 점검하는 fsck 명령의 순서를 정한다.
<file system> <mount point> <type> <options> <dump> <pass>
로그 관련 주요 파일
/var/log/messages 시스템에서 발생하는 표준 메시지가 기록되는 파일
/var/log/secure 인증에 기반한 접속과 관련된 로그가 기록되는 파일
/var/log/dmesg 시스템이 부팅할 때 출력되었던 로그가 기록되는데 보통 커널 부트 메시지 로그 라고 한다.
/var/log/mailog 메일 관련 작업이 기록되는 로그 파일
/var/log/xferlog FTP 접속과 관련된 작업이 기록되는 파일
/var/log/cron cron 관련 정보가 기록되는 파일
/var/log/boot.log 부팅시 발생되는 메시지가 기록되는 파일
/var/log/lastlog telnet 이나 ssh 를 이용해서 접속한 각 사용자의 마지막 정보가 기록되는 파일
/var/log/wtmp 콘솔, 텔넷, ftp 등을 이용하여 접속한 사용자의 기록, 시스템 재부팅 기록등의 로그가 기록되는 파일
/var/log/btmp wtmp 와 반대되는 로그로 접속이 실패한 경우를 기록한다.
답 : ① 0 또는 00 ② 4 또는 04
③ * ④ *
⑤ 1,3,5 또는 mon,wed,fri
0 4 * * 1,3,5 root /etc/backup.sh
cron 을 이용하여 주기적으로 실행하는 작업은 시스템 운영에 필요한 작업과 사용자의 필요에 의한 작업으로 나눌 수 있다.
실행에 필요한 작읍은 root 권한으로 /etc/crontab에 등록하여 주기적으로 수행할 수 있고 사용자는 crontab라는 명령을 수행해서 등록할 수 있다.
crontab 파일은 다음과 같이 총 7개의 필드로 구성되어 있다.
<minute> <hour> <day_of_month> <month> <day_of_week> <user-name> <command>
ex)
10 1 1 1-12/2 * /etc/joon.sh
1월부터 12월까지 2개월마다 1일날 오전 1시 10 분에 실행
실행파일 경로는 /etc/joon.sh
0 0-23 * * * * /usr/bin/rdate -s time.bora.net
매 시간 정각에 시간을 동기화하는 작업을 crontab에 등록하는 명령
‘*’는 모든(all) 을 의미하고, ‘-‘는 연결된 설정 값을 지정할 때 ‘,’은 연결되지 않은 값을 나열할 때 ‘/’는 연결된 설정 값 범위에서 특정 주기로 나눌 때 사용한다.
5 4 * * 1,3,5 /etc/log.sh
로그를 점검하는 스크립트인 /etc/log.sh 를 매주 월, 수, 금요일 새벽 4시 5분에 실행
0 12 * * 1-5 /home/posein/work.sh
월요일부터 금요일까지 오후 12시에 /home/posein/work.sh 스크립트를 실행
22 4 ** 0 /root/backup.sh
매주 일요일 4시 22분에 /root/backup.sh 스크립트를 실행
GRUB(grand Unified BootLoader)
GNU 프로젝트에서 만든 부트로더로 LILO 에 비교하여 다양한 파일 시스템을 지원하고, 부팅 시에 커널 인자를 저정하여 동적인 부팅을 지원한다.
/boot/grub/grub.conf 환경 설정 파일
timeout : GRUB 메뉴 화면에서의 대기 시간으로 단위는 초이다.
default : 기본적으로 부팅되는 운영체제를 설정하는 항목으로 GRUB 메뉴 화면에서 선택하지 않았을 때 이값을 기준으로 운영체제가 선택된다. 설정 값은 숫자로 입력하는데 grub.conf 에 나열된 title 순서이다.
답 : ① z
② date +%m%d 또는 date ‘+%m%d’ 또는 date +’%m%d’ (” ” 도 정답 인정)
tar cvfz /back/backup_`date +%m%d`.tar.gz .
tar(tape archive)
테이프 관련 장치를 이용하여 백업할 때 사용하는 명령이었으나 현재는 여러 파일들을 하나의 파일로 묶어주는 명령으로 사용한다.
-Z : compress 관련 옵션으로 예전 UNIX 계열 표준 압축 파일인 tar.Z 에 사용한다.
-J : xz 관련 옵션으로 압축 파일인 tar.xz 에 사용한다.
-z : gzip 관련 옵션으로 압축 파일인 tar.gz 에 사용한다.
-j : bzip2 관련 옵션으로 압축 파일은 tar.bz2 에 사용한다.
압축률이 높은 순서
xz > bzip2 > gzip > compress
작업식 11-16
답 : ① allow ② deny ③ all
아파치 웹 서버
소스가 공개되어 있는 공개 소프트웨어
멀티스레딩을 지원
PHP, JSP 등 다양한 웹 프로그래밍 언어를 지원
<Directory/>
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
[Options 항목]
NONE, ALL, Includes, FollowSymLinks, ExecCGI, IncludesNOEXEC, MultiViews
[AllowOverride 항목]
NONE, ALL AuthConfig, FileInfo, Indexes, Limit, Options
[Order 항목]
Order 명령은 해당 디렉터리에 대해 IP주소 및 도메인에 대한 필터링 순서를 설정한다.
Allow 는 호스트 접근을 허락하며, Deny 는 접근을 불허한다.
Allow from all 은 모든 호스트로부터의 접근을 허락
Deny from all 은 모든 호스트로부터의 요청을 거부
ex)
Order deny,allow
Deny form all
Allow form 호스트명
LDAP (Lightweight Directory Access Protocol 경량 디렉터리 접근 규약)
IP프로토콜을 기반으로 사용자, 시스템, 네트워크, 서비스 정보 등의 디렉터리 정보를 공유할 수 있다.
리눅스와 리눅스간의 설정 데이터를 배포하기 위해 사용되는 프로토콜로 인증을 위한 다른 서비스에 자주 사용된다.
초기에는 X5000 이라는 서비스와 통신할 수 있는 게이트웨이 프로토콜로 설계되었고 현재는 Version 3 이 출시되었다.
조직이나 객체 그리고 인터넷이나 기업의 인트라넷 등 네트워크상에 있는 파일이나 장치와 같은 자원의 위치를 찾을 수 있게 해주며 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜 이다.
c – 국가 이름
st – 주(한국의 도) 이름
o 조직(회사) 이름
ou 조직의 부서 이름
cn 일반적으로 이름과 성의 조합
sn 성을 나타냄
dc – 도메인 네임의 요소
mail – email 주소
답 : ① /etc/mail/virtusertable ② makemap hash
/etc/mail/virtusertable
하나의 메일 서버에 여러 도메인을 사용하는 환경에서 동일한 메일 계정을 요구할 때 각각의 도메인으로 도착하는 메일을 포워딩할 때 사용하는 파일.
ex)
예를 들어 linux.com 과 windows.com 이라는 도메인을 사용중이고 각 회사에서 ceo 라는 동일한 이메일 계정을 요구하는 경우
# vi /etc/mail/virtusertable
ceo@linux.com posein
ceo@windows.com yuloje
@posein.org posein@naver.com
ceo@linux.com으로 들어오는 메일은 posein에게 전달하고, ceo@windows.com 로 들어오는 메일은 yuloje 에게 전달.
@posein.org 로 들어오는 모든 메일은 posein@naver.com 으로 전달.
센드메일이 참고하는 파일은 /etc/mail/virtusertable.db 이므로 변경시 makemap hash 명령을 사용해야 한다.
ex)
makemap hash /etc/mail/access < /etc/mail/access
답 : ① 3H 또는 10800 (소문자, 단위 S 정답 인정)
② 15M 또는 900 (소문자 정답 인정)
③ 1W 또는 604800 또는 7D (소문자 정답 인정)
존 설정파일 주요 타입
A : IPv4의 주소를 기입할 때 사용
AAAA : IPv6의 주소를 기입할 때 사용
NS : 도메인의 네임 서버를 지정할 때 사용
MX : 메일 서버를 지정할 때 사용한다.
CNAME : Canonical Name 레코드의 일종으로 alias를 지정할 때 사용
PTR : 리버스 존에서만 사용하는 레코드로 IP주소를 도메인으로 변환하기 위해 지정한다.
SOA record
존 파일을 시작하는 레코드로 시작은 도메인명 또는 도메인명을 나타내는 기호인 @ 를 사용한다.
ex)
$TTL 84600
@ IN SOA exam1.com. exam2.com.
답 : ① routers 192.168.0.1
② subnet-mask 255.255.255.0
③ domain-name “example.com”
④ domain-name-servers 192.168.1.1
DHCP(Dynamic Host Configuration Protocol)
클라이언트에게 자동으로 IP주소, Gateway 주소, Name Server 주소 등을 할당해주는 서버를 말한다.
dhcpd.conf 의 설정
option routers : 게이트웨이 주소를 지정할때 사용한다.
option domain-name : 도메인명을 지정할 때 사용한다.
option domain-name-servers : 네임서버를 지정할 때 사용하는 항목으로 도메인 또는 IP주소를 기입힌다.
range dynamic-bootp : DHCP 클라이언트뿐만 아니라 BOOTP 클라이언트도 함께 할당할 경우에 사용한다.
default-lease-time : 임대를 요청하는 클라이언트가 특정한 만료 시간을 요청하지 않았을 경우에 할당되는 시간으로 단위는 초이다.
max-lease-time : 임대를 요청한 클라이언트가 IP주소를 가지고 있을 수 있는 최대시간으로 단위는 초이다.
iptables
패킷 필터링 도구로서 방화벽 구성이나 NAT에 사용된다.
사용법
# iptables [-t table] action chain match [-j target]
테이블(table) 의 기본 설정은 Filter 이고, 다른 테이블을 지정할 때에는 -t 옵션을 사용해서 사용한다.
액션(action) 은 사슬을 지정, 설정, 제어할 때 사용하는데 주로 -N, -P 와 같은 대문자 옵션을 사용한다.
사슬(chain) 을 설정하고 사용하는 사슬을 명기하는데 INPUT, OUTPUT 과 같이 입력한다.
마지막으로 실질적인 룰에 해당하는 매치(match)와 타겟(target)을 지정한다.
매치는 -d, -p 와 같은 소문자 옵션을 사용해서 설정하고, 타겟은 -j 옵션을 사용하여 설정한다.
사슬
INPUT : 패킷 필터링 및 방화벽 관련 정책들을 설정하는 사슬로 실제적인 접근 통제를 담당하는 역할을 수행
OUTPUT : 다른 시스템으로의 접근을 차단할 때 사용하는 사슬로 리눅스 시스템 자체가 생성하는 패킷을 제어하는 사슬
FORWARD : 리눅스 시스템을 통과하는 패킷을 관리하는 사슬로 한 네트워크를 다른 네트워크와 연결하기 위해 iptables 방화벽을 사용해서 두 네트워크 간의 패킷이 방화벽을 통과하는 경우에 사용되고, NAT 기반으로 하나의 공인 IP를 여러대의 사설 IP를 사용하는 시스템들을 공유해서 사용할 경우 사설 IP를 사용하는 시스템의 접근 제어 정책을 설정할 때 사용한다.
주요 액션
-N : 새로운 사용자 정의 사슬을 만든다.
-P : 사슬의 기본 정책을 설정한다.
-F : 사슬로부터 규칙을 제거한다.
-A : 사슬에 새로운 규칙을 추가한다.
-R : 사슬의 규칙을 교환한다.
-D : 사슬의 규칙을 제거한다.
주요 매치
-s : 출발지 IP주소나 네트워크와 매칭
-d : 목적지 IP주소나 네트워크와 매칭
-p : 특정 프로토콜과 매칭
-i : 입력 인터페이스와 매칭
-o : 출력 인터페이스와 매칭
주요 타겟 -j
ACCEPT : 패킷을 허가하는 것으로 본래 라우팅 대로 진행
DROP : 패킷을 거부하는 것으로 더 이상 어떤 처리도 수행되지 않고 버림
LOG : 패킷을 syslog 에 전달하여 기록.
REJECT : 패킷을 버리고 동시에 적당한 응답 패킷을 전달
RETURN : 호출 사슬 내에서 패킷 처리를 계속 진행